package com.hxc.service.impl;

import com.hxc.entity.Dept;
import com.hxc.mapper.DeptMapper;
import com.hxc.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.List;

@Service("service2")// 可以设置bean对象的名字，默认是类对象的名字首字母小写
@Primary// 设置优先级
public class DeptServiceImpl implements DeptService {
    @Autowired
    private DeptMapper deptMapper;
    // 查询所有部门
    @Override
    public List<Dept> list(){
        // 调用mapper查询，得到数据
        List<Dept> depts = deptMapper.list();
        // 2.解析文本中的数据，封装成集合
        // 转换成stream流处理，使用map中间方法进行数据加工，使用collect终结方法进行收集到集合
//        List<Dept> depts = strings.stream().map((str) -> {
//            String[] parts = str.split(",");
//            Integer id = Integer.valueOf(parts[0]);
//            String name = parts[1];
//            LocalDateTime updateTime = LocalDateTime.parse(parts[2], DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
//            return new Dept(id, name, updateTime);
//        }).collect(Collectors.toList());
        // 返回数据
        return depts;
    }
    // 删除指定部门
    @Override
    public void delete(Integer id) {
        deptMapper.delete(id);
        return;
    }
    // 增加部门
    @Override
    public void add(Dept dept) {
        dept.setCreateTime(LocalDateTime.now());
        dept.setUpdateTime(LocalDateTime.now());
        deptMapper.add(dept);
    }

    @Override
    public Dept getById(Integer id) {
        Dept dept = deptMapper.getById(id);
        return dept;
    }

    @Override
    public void update(Dept dept) {
        //dept.setUpdateTime(LocalDateTime.now());
        deptMapper.update(dept);
    }
}
